<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>promise的介绍</title>
</head>
<body>
    
</body>
<script>
    //promise 是异步编程的一种解决方案，用来优化回调地狱，比传统的解决方案--回调函数更为合理何强大

    //案例 请求接口
    let api = new Promise((resolve,reject)=>{
        setTimeout(()=>{
            if(false){//传递pending的状态 
                resolve('ok11') // resolve 表示成功的回调 传递fulfilled状态
            }else{
                reject('error') // reject 表示失败的回调 传递rejected状态
            }
        },2000)
    })

    api.then((res)=>{//如果获取的是fulfilled状态执行then函数
        console.log(res);
        console.log('promise 请求成功');
    })
    .catch((err)=>{//如果获取的是rejected状态执行的是catch函数
        console.log(err);
        console.log('promise 请求失败');
    })

    //Promise对象通过自身的状态，控制异步操作，promise有三种状态
    //异步操作未完成 --- pending
    //异步操作成功 --- fulfilled
    //异步操作失败 --- renjected

</script>
</html>